
import {Message} from 'element-ui';
const globalAction = {
  trim()
  {
    return this.replace(/(^\s*)|(\s*$)/g, "");
  },
//验证是否为日期
validator(){  
  if(isDate(document.all.demo1.value.trim())==false){
   document.all.demo1.select(); 
   return false;
 }
},
isDate(dateString){
  if(dateString.trim()=="")return true;
      //年月日时分秒正则表达式
      console.log(dateString)
      var r=dateString.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2})$/); 
      // var r=dateString.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); 
      // console.log(r)
      if(r==null){
       Message({
        message: "请输入格式正确的日期\n\r日期格式：yyyy-mm-dd\n\r",
        type: 'warning'
      });
       return false;
     }
     // console.log(r[1])
     // var d=new Date(r[1],r[2]-1,r[3],r[4],r[5],r[6]);     
     var d=new Date(r[1],r[2]-1,r[3]);     
     // console.log(d)
     var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]);
     // var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]&&d.getHours()==r[4]&&d.getMinutes()==r[5]&&d.getSeconds()==r[6]);
     // console.log(num)
     // console.log(d.getFullYear())
     if(num==0){
      Message({
        message: "请输入格式正确的日期\n\r日期格式：yyyy-mm-dd\n\r",
        type: 'warning'
      });
    }
    return (num!=0);

  } ,
  paramsValidate (params) {
    let flag = true;
    for(var key in params){
      if(params[key] != '0' && !params[key]){
      // this.$vux.toast.text('请完善数据!', 'middle');
      Message({
        message: '请完善资料!',
        type: 'warning'
      });
      return false; // 终止程序
    }
  }
  return flag;
},
formatSeconds (value) {//返回时:分
  let result = value.split(":");
  let h = result[0];
  let m = result[1];
  let s = result[2];
  // console.log(h)
  // console.log(m)
  // console.log(s)
  let hh=h+":";
  // let mm=m+":";
  let mm=m;
  let res = '';
  if(h !== '00') res += hh;
  // if(m !== '00') res += mm;
  res += mm;
  // res += s;
  return res;
  // var result = parseInt(value)
  // var h = Math.floor(result / 3600) < 10 ? '0' + Math.floor(result / 3600) : Math.floor(result / 3600);
  // var m = Math.floor((result / 60 % 60)) < 10 ? '0' + Math.floor((result / 60 % 60)) : Math.floor((result / 60 % 60));
  // var s = Math.floor((result % 60)) < 10 ? '0' + Math.floor((result % 60)) : Math.floor((result % 60));

  // var hh=h+":";
  // var mm=m+":";
  // var res = '';
  // if(h !== '00') res += hh;
  // if(m !== '00') res += mm;
  // res += s;
  // return res;
},
getDateFormat(longTypeDate,str){  //年/月/日
  var dateTypeDate = "";  
  var date = new Date(longTypeDate);  
  var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
  var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
  dateTypeDate += date.getFullYear();   //年  
  dateTypeDate += str + month; //月   
  dateTypeDate += str + day;   //日  
  return dateTypeDate;
},
dateFormatUtil(longTypeDate){  //年/月/日
  var dateTypeDate = "";  
  var date = new Date(longTypeDate);  
  var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
  var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
  dateTypeDate += date.getFullYear();   //年  
  dateTypeDate += "/" + month; //月   
  dateTypeDate += "/" + day;   //日  
  return dateTypeDate;
},
dateFormatUtil1(longTypeDate){  //年.月.日
  var dateTypeDate = "";  
  var date = new Date(longTypeDate);  
  var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
  var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
  dateTypeDate += date.getFullYear();   //年  
  dateTypeDate += "." + month; //月   
  dateTypeDate += "." + day;   //日  
  return dateTypeDate;
},
dateFormatUtil2(longTypeDate){  //年.月.日
  var dateTypeDate = "";  
  var date = new Date(longTypeDate);  
  var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
  var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
  dateTypeDate += date.getFullYear();   //年  
  dateTypeDate += "-" + month; //月   
  dateTypeDate += "-" + day;   //日  
  return dateTypeDate;
},
dateFormat:function(time) {//2021年01月
  var date=new Date(time);
  var year=date.getFullYear();
		/* 在日期格式中，月份是从0开始的，因此要加0
		 * 使用三元表达式在小于10的前面加0，以达到格式统一  如 09:11:05
		 * */
    var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
    var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
    var hours=date.getHours()<10 ? "0"+date.getHours() : date.getHours();
    var minutes=date.getMinutes()<10 ? "0"+date.getMinutes() : date.getMinutes();
    var seconds=date.getSeconds()<10 ? "0"+date.getSeconds() : date.getSeconds();
		// 拼接
		// return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds;
		return year+"年"+month+"月";
	},
  dateFormat1(fmt, date) {
    let ret;
    const opt = {
      "Y+": date.getFullYear().toString(), // 年
      "m+": (date.getMonth() + 1).toString(), // 月
      "d+": date.getDate().toString(), // 日
      "H+": date.getHours().toString(), // 时
      "M+": date.getMinutes().toString(), // 分
      "S+": date.getSeconds().toString() // 秒
      // 有其他格式化字符需求可以继续添加，必须转化成字符串
    };
    for (let k in opt) {
      ret = new RegExp("(" + k + ")").exec(fmt);
      if (ret) {
        fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
      };
    };
    return fmt;
  },
  getDateInfo (y,m){
      let info = []
      // let   fdWeek = new Date(y,m-1,1).getDay() 以周日开头的代码
      let   fdWeek = new Date(y,m-1,0).getDay()/* 得到的日期是"m"月的前一个 月的最后一天 */
      let   ldWeek = new Date(y,m,0).getDay() /* 得到的日期是"m"月的后一个 月的第一天 */
      let   lastDay = new Date(y,m,0).getDate()
      let  lmDays =  new Date(y,m-1,0).getDate()
      let  lmYear = new Date(y,m-1,0).getFullYear()
      let   lmMonth = new Date(y,m-1,0).getMonth()+1
      let   nmYear = new Date(y,m+1,0).getFullYear()
      let  nmMonth = new Date(y,m+1,0).getMonth()+1
      console.log(lmDays,lmDays + (0-fdWeek))
      for(var i = lmDays, len = lmDays + (0-fdWeek); i>len; i--){
          info.unshift({
              year: lmYear,
              month: lmMonth, /* 上个月 */
              day: i,
              ishowBag:false,
              week: new Date(y,m-2,i).getDay(),
              todayData:{},
              timeFile:(new Date(`${lmYear}-${lmMonth<10?'0'+lmMonth:lmMonth}-${i<10?'0'+i:i}`)).getTime()
          });  
      }
      console.log(lastDay)
      for(var i = 1; i<=lastDay; i++){
          info.push({
              year: y,
              month: m, /* 本月 */
              day: i,
              ishowBag:false,
              week: new Date(y,m-1,i).getDay(),
              todayData:{},
              timeFile:(new Date(`${y}-${m<10?'0'+m:m}-${i<10?'0'+i:i}`)).getTime()
          });
      }
      for(var i = 1,len = 42-info.length; i<=len; i++){
          info.push({
              year: nmYear,
              month: nmMonth, /* 下个月 */
              day: i,
              ishowBag:false,
              todayData:{},
              week: new Date(y,m,i).getDay(),
              timeFile:(new Date(`${nmYear}-${nmMonth<10?'0'+nmMonth:nmMonth}-${i<10?'0'+i:i}`)).getTime()
          });
      }
      return info;
    },
	
}
export default globalAction;
